#include "dbquerymodulelist.h"
#include <QDebug>
#include "sconst.h"


namespace mysqlquery
{

dbquerymodulelist::dbquerymodulelist() {
}

dbquerymodulelist::~dbquerymodulelist() {
}

QSqlQuery dbquerymodulelist::getSqlQuery() {
  return QSqlQuery("SELECT * FROM module");
}

std::list<Module> dbquerymodulelist::getModuleList(ListQVariant lv)
{
  std::list<Module>             ret_value;
  std::list<QVariant>::iterator qvariant_it;
  Module                        module;
  int                           type_count = 0;

  ret_value.push_back(Module(ALL_MODULE_ID, 0, SC_ALL));

  for (qvariant_it = lv.begin() ; qvariant_it != lv.end(); qvariant_it++ )
  {
    QVariant qv = (QVariant)(*qvariant_it);

    if(qv.type() == QVariant::Int)
      module.setModuleID(qv.toInt());
    else if(qv.type() == QVariant::String)
      module.setModuleName(qv.toString().toStdString());
    type_count++;
    if(type_count == 2) {
      ret_value.push_back(module);
      type_count = 0;
    }
  }
  return ret_value;
}

} //mysqlquery
